ZE

[Pedido] Item Exclusivo Para Jogador (Unique)

Por ZeNit91, 03 de fev. de 2012 em Scripts

itens unique
tibia
script
otserv
11
5.5k
ZeNit91Z
03 de fevereiro de 2012 às 12:14

Tipo do script: Item Exclusivo para jogador (Unique)

Protocolo (versão do Tibia): 8.54

Servidor utilizado: PkeDash

Nível de experiência: Medio

Adicionais/Informações:

 

Ola gostaria De um sistema que funcionasse da seguinte Maneira

 

Jogador recebe Um item em 1 guest que nao pode ser trocado ou jogado no chão.

 

OBS: Ja tenho os itens estão Prontos e separados a guest que dara o item tbm esta pronto, oque esta faltado é um jeito de bloquear esses itens para troca e drop.

 

Id: 12578 nome: Unique Ruby

Id: 12579 nome: Unique Potion

Id: 12580 nome: Unique Stamina

 

Quando o jogador receber algum desses itens de um bau ele nao poderá trocar nem jogar no chão

 

Darei Rep COm Orgulho

08 de fevereiro de 2012 às 00:28

crie um arquivo item.lua em movements/scripts e adicione isso:

local uniqueitems = [12578, 12579, 12580]
function onDeEquip(cid, item)
if item.itemid == uniqueitems then
doPlayerSendCancel(cid, "Sorry, this is an unique item.")
end
end

 

tag: <movevent type="DeEquip" itemid="12578,12579,12580 " event="script" value="item.lua"/>

 

Depois na mesma pasta crie trade.lua e adicione:

 

function onTradeAccept(cid, target, item, targetItem)
if item.itemid == 2578 or targetItem.itemid == 12579 or targetItem.itemid == 12580 then
doPlayerSendCancel(cid, "Sorry, you cannot trade this item.")
end
end

 

tag: <movevent type="TradeAccept" itemid="12578,12579,12580" event="script" value="trade.lua"/>

Editado Fevereiro 8 por lucashgas

gonorreiaswatG
08 de fevereiro de 2012 às 01:27

Obrigado aí LucasHGas ....

Acho que sem querer querendo você me ajudou e me deu uma idéia maneira para meu server'

 

 

Obrigado ae novamente'

Vou testar aqui e edito para postar o resultado.

 

[estou_sem_rep+] button_cancel.png

 

 

@@@EDIT

LucasHGas ....

Corrige aí o que ficou com erro de digitação na sua tag'

tag: <movevent type="DeEquip" itemid="12578,12579,12580 " event="script" value="iitem.lua"/>

Ficou com dois "ii"s, e se o cara não souber nada de Script ele vai ter um erro e não vai saber arrumar'

-----------------------------------------------------------------------------------------------------------------------------------------

E nesta, a tag não está finalizada'

tag: <movevent type="TradeAccept" itemid="12578,12579,12580" event="script" value="trade.lua"/>

Faltou o fim da Tag "/>"...

 

Obs: Nem todos os OTServer's possuem o movevent type="TradeAccept"... tem que colocar isso em pauta'

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Tipo do script: Item Exclusivo para jogador (Unique)

Protocolo (versão do Tibia): 8.54

Servidor utilizado: PkeDash

Nível de experiência: Medio

Adicionais/Informações:

 

Ola gostaria De um sistema que funcionasse da seguinte Maneira

 

Jogador recebe Um item em 1 guest que nao pode ser trocado ou jogado no chão.

 

OBS: Ja tenho os itens estão Prontos e separados a guest que dara o item tbm esta pronto, oque esta faltado é um jeito de bloquear esses itens para troca e drop.

 

Id: 12578 nome: Unique Ruby

Id: 12579 nome: Unique Potion

Id: 12580 nome: Unique Stamina

 

Quando o jogador receber algum desses itens de um bau ele nao poderá trocar nem jogar no chão

 

Darei Rep COm Orgulho

 

Aproveitando que estou aqui no Tópico, resolvi postar uma solução mais simples para você'

Siga os passos abaixo'

 

 

1º Baixe o OtItemEditor' (Ot Item Editor)

 

2º Basta abrir o OtItemEditor'

 

3º Clique e "File" e logo após clique em "Open"...

 

4º Procure o arquivo "items.otb" na pasta do seu OTserver' (geralmente em "data / items / items.otb")...

 

5º Como já sabe a ID do item que quer editar... procure-o no Item Editor...

 

6º E tire a opções "Moveable" e "Pickupable" que provavelmente estará selecionada'

 

7º Salve e pronto'

 

 

 

 

Espero ter ajudado'

 

 

Atenciosamente,

Adriano Swatt

Editado Fevereiro 8 por Gonorreia

08 de fevereiro de 2012 às 01:34

@Gonorreia

Obrigado pelo edit. Já arrumei no meu post.

 

@TE AJUDEI? rep+

ZeNit91Z
09 de fevereiro de 2012 às 17:18

@lucashgas

 

ocorreu o seguinte erro

 

[09/02/2012 17:17:01] [Error - LuaScriptInterface::loadFile] data/movements/scripts/uniqueitem.lua:1: unexpected symbol near '['

[09/02/2012 17:17:01] [Warning - Event::loadScript] Cannot load script (data/movements/scripts/uniqueitem.lua)

[09/02/2012 17:17:01] data/movements/scripts/uniqueitem.lua:1: unexpected symbol near '['

[09/02/2012 17:17:01] [Error - MoveEvent::configureMoveEvent] Unknown event type "TradeAccept"

 

O meu servidor é o dash adv

Editado Fevereiro 9 por Zerons

lailtonL
09 de fevereiro de 2012 às 17:36

Xerons,

 

Faça como o [Gonorreia] falou, pelo ItemEditor é melhor e funciona em qualquer ot. em alguns ot nao tem o event TradeAccept.

( Unknown event type "TradeAccept" )

 

Pelo ItemEditor ( item.otb ), basta vc desmarcar a opção ( "Moveable" e "Pickupable" )

 

( Para achar o item vc pode ir no item.xml pega o ID e procura no ItemEditor. )

 

xD

Editado Fevereiro 9 por Lailton

MatheusGladM
09 de fevereiro de 2012 às 23:16

da pra fazer tem event de trade s

 

onTradeRequest(cid, target, item)

onTradeAccept(cid, target, item, targetItem)

 

O problema eh que ta TradeAccept e o certo seria tradeaccept ... case sensitive

Editado Fevereiro 9 por MatheusMkalo

2 semanas depois...
ZeNit91Z
23 de fevereiro de 2012 às 10:26

da pra fazer tem event de trade s

 

onTradeRequest(cid, target, item)

onTradeAccept(cid, target, item, targetItem)

 

O problema eh que ta TradeAccept e o certo seria tradeaccept ... case sensitive

 

entao so tenho que colocar o tradeaccept em modo sensitive simples ?

MatheusGladM
23 de fevereiro de 2012 às 12:05

<movevent type="tradeaccept" itemid="12578,12579,12580" event="script" value="trade.lua"/>

 

soh botar assim na tag

ZeNit91Z
24 de fevereiro de 2012 às 10:42

vlw vou testar aki depois posto ja vou dar rep pela ajuda ""

8 anos depois...
kamus9629K
28 de abril de 2020 às 22:26

@ZeNit91

 

ae parceirao funciona desse geito ?

 

Citar
function onTradeAccept(cid, target, item, targetItem)
if item.itemid == [1453, 1450, 15603, 15602, 15604, 15605, 15606, 15607, 15600, 15948, 15599, 15601, 1386, 352, 353, 359, 2407, 2408, 2409, 2404, 2405, 2406, 2401, 2402, 2403, 2397, 2396, 2395, 2398, 2399, 2400, 2386, 2387, 2388, 2394, 2393, 2392, 2391, 2390, 2389, 1805, 1804, 1803, 1808, 1807, 1806, 2382, 2381, 2380, 2383, 2384, 2385, 1796, 1797, 1798, 1799, 1800, 360, 361, 362, 363, 364, 365, 366, 367, 368, 333, 369, 370, 371, 372, 373, 374, 377, 378, 379, 380, 381, 382, 383]
doPlayerSendCancel(cid, "Sorry, you cannot trade this item.")
end
end